In various domains, data is shared between remote participants using existing video channels. To achieve this, data is captured, and then encoded using a standard video encoder as if it was natural video. The remote party receives the video and the data (e.g., as data images making up a data video) using a video decoder. However, in these scenarios, because the data is a real-time video stream, a user cannot easily browse the data (for instance, slides in a presentation), review data that was previously presented (for instance, when arriving late for a video conference), distribute data presented (for instance, during a video conference) after it was shared, etc.
Also, because such video streams are typically transmitted to multiple receivers using the same transmission parameters (e.g., codec, resolution, bit rate, frame rate, transmission protocol, etc.), when the transmission parameters for a video stream are modified to compensate for a degraded transmission link to a single receiver, the transmission parameters for all receivers end up being modified. Unfortunately, however, this can result in a reduced bit rate being used to encode the video stream to all of the receivers, thus causing degradation in stream quality to all of the receivers. Additionally, due to loss of sync between the transmitter and the receiver coupled to the degraded transmission link resulting from packet losses, a large number of video refreshes (e.g., using Intra frames) may be experienced at all of the receivers.